Eine QBE-Abfrage

Das Hilfethema Wie erstelle ich eine QBE-Abfrage? führt in die Syntax einer QBE-Abfrage in MS Access ein. Der untenstehende Bildschirmausschnitt zeigt das Beispiel QryZahlMCAlternativenMuster in der Entwurfsansicht. Sie gelangen in die Entwurfsansicht, wenn Sie »F11 drücken, auf die Schaltfläche Abfragen klicken und nach einem Rechtsklick auf den gewünschten Abfragenamen den Kontextmenüpunkt Entwurfsansicht wählen. 

QryZahlMCAlternativenMuster geht - anders als die Anwendung Tests - davon aus, dass eine Mehrfachwahlaufgabe mehrere richtige Alternativen haben kann und zählt für jeden Fragenschlüssel die richtigen Lösungsalternativen. Richtig ist eine Alternative der Musterlösung dann, wenn sie markiert ist (das heisst auf -1 bzw. True gesetzt ist). 

Die Abfrage setzt sich aus den folgenden Elementen zusammen:

Die Abfrage QryZahlMCAlternativenBearbeitet (siehe nächster Bildschirmausschnitt) baut auf der Ergebnistabelle von QryZahlMCAlternativenMuster auf und zählt alle Mehrfachwahlalternativen, die der Bearbeiter markiert hat.


Der Inhalt der Spalte Bearbeitet ist ein Ausdruck , wie er in einer Zelle eines Tabellenkalkulationsblatts vorkommt. Ausdrücke kommen vor allem in Gültigkeitsregeln vor: Der Ausdruck >="A" Und <="Z" stellt zum Beispiel sicher, dass die Bearbeiterin einer Zuordnungsaufgabe nur Buchstabenpräfices zwischen A und Z eingibt.  Ein Ausdruck kann aus Konstanten, Variablen, Operatoren und Funktionen bestehen und ergibt einen meist numerischen, manchmal auch nichtnumerischen Wert. Für ein konkretes Beispiel markieren Sie das Feld TxfBuchstabenpräfix des Unterformulars 'Subfrm Buchstabenalternativen', drücken »Alt/Enter und lesen den Wert der Eigenschaft Gültigkeitsregel.

Der Ausdruck Bearbeitet des obigen Bildschirmausschnitts besteht aus zwei geschachtelten Funktionen:

  1. SUMME(<Ausdruck>) ist eine Funktion, welche die Summe der Werte zurückgibt, die in einem oder mehreren Feldern einer QBE-Abfrage enthalten sind.

  2. WENN(<Bedingung>; <Dann-Ausdruck>; <Sonst-Ausdruck>) ist eine Funktion, welche den Dann-Ausdruck nur bei zutreffender Bedingung berechnet, sonst aber den Sonst-Ausdruck auswertet.

Deshalb bedeutet der Ausdruck Summe(Wenn(SCORESMC!Benutzerlösung=-1; QryZahlMCAlternativenMuster![Anzahl von Fragenschlüssel]; 0)) folgendes:

Falls der laufende Wert einer Benutzerlösung der Tabelle SCORESMC markiert (-1) ist, kumuliere den laufenden Wert des Felds 'Anzahl von Fragenschlüssel' der Ergebnistabelle von QryZahlMCAlternativenMuster.

Der Der Sonst-Teil des Ausdrucks ist überflüssig. Weil ihn aber die Syntax von WENN verlangt, steht 0.